/* ---------------------------------------------------------------------------------------------------------------------
 * File: mainwindow.h
 * Author: Joe Huang, Daniel Pop
 * Purpose: The main purpose for ths class is to be the main window and to transition between screens,
 *  and to direct the user to select three choices of Playing, Creating, Editing.
 *  Daniel: I constructed this screen to be simple and to figure out how to transition from one screen to the next,
 *  using signals and slots, Joe discovered a simpler/cleaner way to do this and we decided to use his method.
 * ---------------------------------------------------------------------------------------------------------------------*/

#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include "pickteams.h"
#include "createplayerscreen.h"
#include "vieweditscreen.h"
#include "testing.h"
#include "createscreen.h"
#include <QMainWindow>

namespace Ui {
    class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT


public:
    enum ScreenOrientation {
        ScreenOrientationLockPortrait,
        ScreenOrientationLockLandscape,
        ScreenOrientationAuto
    };

    explicit MainWindow(QWidget *parent = 0);
    virtual ~MainWindow();

    // Note that this will only have an effect on Fremantle.
    void setOrientation(ScreenOrientation orientation);

    void showExpanded();

private:
    Ui::MainWindow *ui;
    //testing* testingWindow;
    PickTeams* scoreKeeperWindow;
    ViewEditScreen* viewEditWindow;
    CreateScreen* createWindow;


public slots:
    void showScoreScreen();
    void showCreateScreen();
    //void showTestingScreen(); Removed from the final product
    void showViewEditScreen();
};

#endif // MAINWINDOW_H
